package com.it.system.course_service.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.it.system.educommonapi.entity.Course;

import java.util.List;
import java.util.Map;

public interface CourseService extends IService<Course> {

    /**
     * 获取所有课程
     * @return 课程列表
     */
    List<Course> getAllCourse();

    /**
     * 根据ID获取课程详情
     * @param id 课程ID
     * @return 课程详情
     */
    Course getCourseById(long id);
    
    /**
     * 分页获取课程列表，支持筛选和排序
     * @param current 当前页
     * @param size 每页大小
     * @param typeId 课程类型ID
     * @param orientationId 课程方向ID
     * @param subOrientationId 课程子方向ID
     * @param keywords 关键词搜索
     * @param orderField 排序字段
     * @param orderType 排序类型
     * @return 分页课程列表
     */
    Page<Course> getCourseListPage(long current, long size, Long typeId, Long orientationId,
                              Long subOrientationId, String keywords, String orderField, String orderType);

}
